using System;
using System.ComponentModel;
using System.Collections.Generic;

namespace Sinacor.Servico.Bovespa.Ordens.Service.ServiceImplementation.Translator
{
	public class TranslateBetweenAlterarPreBoletoRequestAndPreBoleto
	{
		public static BusinessEntity.PreBoleto TranslatePreBoletoRequestToPreBoleto(DataContract.Request.AlterarPreBoletoRequest from)
		{
			if (from == null) return null;

			BusinessEntity.PreBoleto to = new BusinessEntity.PreBoleto();

			to.Ordem = new BusinessEntity.Ordem();
			to.Ordem.NumeroOrdem = from.NumeroOrdem;
			to.Ordem.NumeroOrdemSubSequencia = from.NumeroOrdemSequencia;
			to.Ordem.DataOrdem = from.DataOrdem;
			to.Ordem.DataPregao = from.DataPregao;
			to.DataPregao = from.DataPregao;
			to.QuantidadeNegocio = from.QuantidadeNegocio;
			to.Preco = from.Preco;
			to.ContraParte = from.ContraParte;
			to.Cambio = from.Cambio;
            to.TipoEstrategia = (BusinessEntity.Enum.TipoEstrategia?)from.TipoEstrategia;
            to.TipoCasamento = (BusinessEntity.Enum.TipoCasamento)from.TipoCasamento;
            to.Numero = from.NumeroPreBoleto;
			return to;
		}

		public static List<BusinessEntity.PreBoleto> TranslatePreBoletoRequestCollectionToPreBoletoCollection(List<DataContract.Request.AlterarPreBoletoRequest> from)
		{
			List<BusinessEntity.PreBoleto> to = null;

			if (from != null)
			{
				to = new List<BusinessEntity.PreBoleto>();
				foreach (DataContract.Request.AlterarPreBoletoRequest preBoleto in from)
				{
					to.Add(TranslateBetweenAlterarPreBoletoRequestAndPreBoleto.TranslatePreBoletoRequestToPreBoleto(preBoleto));
				}
			}

			return to;
		}
	}
}

